home *** CD-ROM | disk | FTP | other *** search
/ Ian & Stuart's Australian Mac: Not for Sale / Another.not.for.sale (Australia).iso / Dr. Doyle / Sun / Solaris2.faq < prev    next >
Internet Message Format  |  1994-09-15  |  76KB

  1. Path: bloom-beacon.mit.edu!hookup!yeshua.marcam.com!MathWorks.Com!europa.eng.gtefsd.com!howland.reston.ans.net!EU.net!sun4nl!fwi.uva.nl!not-for-mail
  2. From: casper@fwi.uva.nl (Casper H.S. Dik)
  3. Newsgroups: comp.unix.solaris,comp.sys.sun.admin,comp.answers,news.answers
  4. Subject: Solaris 2 Frequently Asked Questions (FAQ) 1.41
  5. Supersedes: <Solaris2/FAQ_775491625@mail.fwi.uva.nl>
  6. Followup-To: comp.unix.solaris
  7. Date: 15 Sep 1994 15:09:11 +0200
  8. Organization: FWI, University of Amsterdam
  9. Lines: 1873
  10. Approved: news-answers-request@MIT.Edu
  11. Distribution: world
  12. Expires: 27 Oct 1994 13:09:10 GMT
  13. Message-ID: <Solaris2/FAQ_779634550@mail.fwi.uva.nl>
  14. Reply-To: casper@fwi.uva.nl
  15. NNTP-Posting-Host: mail.fwi.uva.nl
  16. Summary: This posting contains a list of Frequently Asked Questions (and
  17.     answers) about Sun Microsystem's Solaris 2.x system in general.
  18.     See also the FAQs archived as Solaris2/Porting and Solaris2/x86.
  19. Xref: bloom-beacon.mit.edu comp.unix.solaris:25081 comp.sys.sun.admin:35160 comp.answers:7291 news.answers:25745
  20.  
  21. Archive-name: Solaris2/FAQ
  22. Version: 1.41
  23. Last-Modified: 1994/09/15 13:08:51
  24. Maintained-by: Casper Dik <casper@fwi.uva.nl>
  25.  
  26.  
  27. The following is a list of questions that are frequently asked about
  28. Solaris 2.x.  You can help make it an even better-quality FAQ by writing a
  29. short contribution or update and sending it BY EMAIL ONLY to me.
  30. Thanks!
  31.  
  32. The latest Solaris 2 FAQ, including an HTML version, and some other goodies
  33. can be obtained through ftp from ftp.fwi.uva.nl:/pub/solaris.
  34.  
  35. The HTML (URL: ftp://ftp.fwi.uva.nl/pub/solaris/solaris2.html) version
  36. of the FAQ contains references to most FTP sites and files mentioned
  37. in the FAQ.  The references to ftp sites are always to either HTML
  38. files or directories, never to binary files.
  39.  
  40. I've added an index of questions and marked changed(*) and added
  41. questions(+).  The FAQ is being reorganised, time permitting.
  42. The index is generated automatically, so there may be errors there.
  43. Not all questions are in the section they belong in. Suggestions on
  44. how best to subdivide/order the FAQ are welcome.
  45.  
  46.  
  47.  
  48.  1. GENERAL
  49.    1.1) What's a Solaris anyway?
  50.   *1.2) Why should I care? Why should I upgrade?
  51.    1.3) Should I move to Solaris 2.x now, or later, or never?
  52.    1.4) What is Solaris 2? Is it really SVR4 based?
  53.   *1.5) What machines does Solaris 2.x run on?
  54.    1.6) Will my old applications from 4.1.x run on Solaris 2?
  55.    1.7) Will my old applications from SVR3 on the 386 run on Solaris 2/x86?
  56.    1.8) Where has the XXX command gone now?
  57.    1.9) When I upgrade, should I use SunInstall "upgrade", or start over?
  58.    1.10) Is Solaris 2.x reliable/stable enough to use?
  59.    1.11) Why do some people dislike Solaris2?
  60.    1.12) Why do some people *like* Solaris2?
  61.  
  62.  2. MORE INFO
  63.    2.1) How can I RTFM when I don't have it anymore?
  64.    2.2) Why is "man -k" so confused?
  65.    2.3) What Software is available for Solaris 2.x?
  66.    2.4) What FTP/WWW sites do I need to know about?
  67.    2.5) What other FAQ's do I need to know about?
  68.    2.6) What mailing lists should I get?
  69.    2.7) What books should I read?
  70.   *2.8) What hardware is supported by Solaris 2.x for Intel?
  71.   *2.9) What is Wabi?
  72.  
  73.  3. SYSTEM ADMINISTRATION
  74.    3.1) How much disk space do I need to install Solaris 2?
  75.    3.2) How can I convert all my local changes that I've made over the
  76.     years into their corresponding forms on Solaris 2?
  77.    3.3) What are "packages"?
  78.    3.4) Why can't I write in /home?
  79.    3.5) Why can't I access CDs or floppies?
  80.    3.6) Why are there no passwords in /etc/passwd?
  81.    3.7) Why can't I rlogin/telnet in as root?
  82.    3.8) How can I set up anonymous FTP?
  83.    3.9) How can I print from a Solaris 2 (or any System V Release 4) system
  84.     to a SunOS4.x (or any other BSD) system?
  85.   *3.10) What if I'd rather use the BSD line printer system?
  86.    3.11) What happened to /dev/MAKEDEV? How do I add devices?
  87.    3.12) What happened to /etc/rc and /etc/rc.local?
  88.    3.13) Speaking of that, why are there two versions of shutdown?
  89.    3.14) When will somebody publish a package of the BSD (4.3BSD Net2)
  90.     "init", "getty", and "rc/rc.local", so we can go back to life
  91.     in the good old days?
  92.    3.15) What has happened to getty? What is pmadm and how do you use it?
  93.    3.16) How do I get the screen to blank when nobody's using it?
  94.    3.17) And what about screendump, screenload and clear_colormap?
  95.    3.18) Where did etherfind go?
  96.   *3.19) Can I run SunOS4.1.x on my SPARC Classic, LX, SS5 or SS20?
  97.   *3.20) The "find" program complains that my root directory doesn't exist?
  98.    3.21) I'm having troubles with high-speed input on the Sparc serial
  99.     ports.  What should I do?
  100.    3.22) How do I make ksh or csh be the login shell for root?
  101.   *3.23) What is this message: "automount: No network locking on host,
  102.     contact administrator to install server change."?
  103.    3.24) How do I make Solaris2 use my Toshiba MK538FB and other
  104.     older SCSI disks?
  105.    3.25) How do I make Solaris2 use my old ADAPTEC ACB-4000 and
  106.     Emulex MD-21 diskcontrollers?
  107.   *3.26) Why are there so many patches for Solaris 2.x?
  108.   *3.27) What are the ``mandatory'' patches I keep hearing about?
  109.    3.28) Where do I get patches from?
  110.    3.29) Why does installing patches take so much space in /var/sadm?
  111.    3.30) Do I need to back out previous versions of a patch?
  112.    3.31) How can I have more than 48 pseudo-ttys?
  113.    3.32) I messed up /etc/system, now I can't boot.
  114.    3.33) The /etc/path_to_inst file is corrupted, I can't boot.
  115.  
  116.  4. NETWORKING
  117.    4.1) How do I use DNS w/o using NIS or NIS+?
  118.    4.2) Speaking of nsswitch.conf, what is it?
  119.    4.3) What does [NOTFOUND=return] in nsswitch.conf mean?
  120.   *4.4) Can I run a nis/yp server under Solaris 2.x?
  121.    4.5) Can I run NIS+ under Solaris 1 (SunOS 4.1.x)
  122.    4.6) With NIS+ how do I find out which machine a client is bound to?
  123.    4.7) Ypcat doesn't work on the netgroup table on a NIS+ server, why?
  124.    4.8) Why is rpc.nisd such a memory pig according to ps?
  125.   +4.9) Why is Xsun such a memory pig, especially on the SX?
  126.   +4.10) How do I tell my NIS+ server to service DNS requests from
  127.     4.x clients?
  128.    4.11) TCP/IP connections time out too soon, especially on slow links.
  129.    4.12) Solaris 2.x can't set up any TCP/IP connections to certain hosts.
  130.  
  131.  5. TROUBLE SHOOTING
  132.    5.1) Why can't I run Answerbook on a standalone machine?
  133.   *5.2) Why can't I run filemgr, I get ``mknod: permission denied''?
  134.    5.3) Why do I get isinf undefined when linking with libdps?
  135.    5.4) I can't get PPP to work between Solaris 2.3 and other platforms.
  136.    5.5) Using compat mode for passwd doesn't work in 2.3?
  137.    5.6) Why do I get __builtin_va_alist or __builtin_va_arg_incr undefined?
  138.    5.7) My machine hangs during the boot process.  It seems related to ps.
  139.   *5.8) Syslogd doesn't seem to log anything.
  140.   *5.9) I get ``Invalid client credential'' when mounting filesystem on
  141.     Solaris client from non-Sun fileserver.
  142.  
  143.  6. SOFTWARE DEVELOPMENT
  144.   *6.1) Where is the C compiler or where can I get one?
  145.    6.2) What about the linker, the assembler and make?
  146.    6.3) What do I need to compile X11R5?
  147.    6.4) I get undefined symbols when compiling R6 in Solaris 2.2.
  148.   +6.5) I can't get perl 4.036 to compile or run.
  149.    6.6) What happened to NIT? What new mechanisms exist for low-level
  150.     network access?
  151.    6.7) Where are all the functions gone that used to be in libc?
  152.    6.8) I'm still missing some functions: bcopy, bzero and friends.
  153.   *6.9) Can I use the source compatibility package to postpone porting?
  154.   *6.10) Why doesn't readdir work?
  155.   +6.11) Why do I get undefined symbols when linking with curses/termcap?
  156.  
  157.  7. ACKNOWLEDGEMENTS
  158.  
  159. 1. GENERAL
  160.  
  161. 1.1) What's a Solaris anyway?
  162.  
  163.     Solaris(tm) is Sun's name for their UNIX-based user environment,
  164.     including the UNIX(tm) operating system, window system (X11-based),
  165.     and other stuff too.
  166.  
  167.     Solaris 1.x is a retroactive (marketing?) name for SunOS4.1.x (x>=1),
  168.         a version of UNIX that is BSD-like with some SVR4 features,
  169.         along with OpenWindows 3.0.
  170.     Solaris 2.x (which is what most everybody means by "Solaris")
  171.         includes SunOS5.x, which is an SVR4-derived UNIX,
  172.         along with OpenWindows 3.x, tooltalk, and other stuff.
  173.     For more details, see the chart in the next-to-next question.
  174.  
  175. *1.2) Why should I care? Why should I upgrade?
  176.  
  177.     Solaris 2 is more compatible with the rest of the UNIX industry.
  178.     Other major UNIX vendors including IBM, HP, SGI, SCO, and others
  179.     are based on System V rather than on BSD (though some of them
  180.     are on SVR3, not SVR4). All but one commercial PC-based UNIXes
  181.     are System V based (and mostly SVR4); the only commercial exception
  182.     is from a small but interesting firm called BSDI.
  183.  
  184.     Solaris 2 is where Sun has been putting almost all its development
  185.     for the last few years now. There will be no new development on
  186.     SunOS4; already much of Sun's add-on software is only available
  187.     for Solaris 2. Solaris 2 is the only MP-capable SunOS on the SS10.
  188.  
  189.     Most Sun software is being released first for Solaris 2.x.
  190.  
  191.     Solaris 2.3 features a standard X11R5 release of The X Window
  192.     System, a benefit for those who didn't like NeWS or the
  193.     V2/V3 OpenWindows server. (It's still called OpenWindows, but
  194.     it is the X11R5 server with Adobe DPS added in).  It is as fast
  195.     or faster than MIT R5 (depending on the platform) and supports
  196.     all Sun graphics hardware.
  197.  
  198.     Solaris 2 is more standards-compliant than Solaris 1/SunOS 4.
  199.  
  200.  
  201. 1.3) Should I move to Solaris 2.x now, or later, or never?
  202.  
  203.     That depends - on you, your situation, your application mix, etc.
  204.     Some year SunOS4.1.x will go the way of the 3/50 - it'll still
  205.     be around, but Sun will no longer support it.
  206.  
  207.     You don't have to upgrade immediately, but you should be
  208.     planning your upgrade path by now.
  209.  
  210. 1.4) What is Solaris 2? Is it really SVR4 based?
  211.  
  212.     Solaris 2 is an "operating environment" that includes the
  213.     SunOS 5.x operating system and the OpenWindows 3.x window
  214.     environment.
  215.  
  216.     SunOS 5.x are based on USL's SVR4.0. SVR4.0, in turn, was
  217.     developed jointly by AT&T and Sun while Sun was developing 4.1.0,
  218.     which is why things like RFS, STREAMS, shared memory, etc.,
  219.     are in SunOS 4.1.x, and why things like vnodes, NFS and XView
  220.     are in SVR4.0. (RFS, by the way, is being dropped effective
  221.     with Solaris 2.3).
  222.  
  223. *1.5) What machines does Solaris 2.x run on?
  224.  
  225.     Solaris 2.0 only ran on desktop SPARCstations and a few other Sun
  226.     machines.
  227.  
  228.     Solaris 2.1 and 2.4 and later come in two flavors, SPARC and "x86".
  229.  
  230.     Solaris 2.1 (and 2.2, ...) for SPARC run on all SPARCstations and
  231.     clones, as well as all models of the Sun-4 family. The old FPU
  232.     on the 4/110 and 260/280 is not supported, so floating point
  233.     will be SLOW, but it does work.
  234.  
  235.     A Solaris port for the PowerPC is underway.  It is not
  236.     expected to be completed this year.  It is also unknown
  237.     at this time what PowerPC hardware will be supported.
  238.  
  239.     Solaris 2.1 and 2.4 for x86 has been released to end users.
  240.     It runs on a wide range of high-end PC-architecture machines.
  241.     "High-end" means: 16MB of RAM and an 80486 (or 33MHz or faster
  242.     80386DX).  It will not run on your 4 MB 16MHz 386SX, so don't
  243.     bother trying! Also, floating point hardware (80387-style) is
  244.     absolutely required in 2.1.  Starting with Solaris 2.4 for
  245.     x86, a fp Coprocessor is no-longer required, though still
  246.     recommended.  All three buses are supported: ISA, EISA, MCA.
  247.     Some PCI devices are supported, though full bus nexus support
  248.     for PCI is not there.
  249.  
  250.     To summarize all this, Jim Prescott gave this chart, which I've
  251.     updated:
  252.  
  253.     Solaris SunOS     OpenWin               Comments
  254.     1.0     4.1.1B    2.0
  255.         4.1.1_U1  2.0           sun3 EOL release (not named Solaris)
  256.     1.0.1   4.1.2     2.0           6[379]0-1[24]0 MP
  257.     1.1     4.1.3     3.0           SP Viking support
  258.     1.1C    4.1.3C    3.0?          Classic/LX
  259.     1.1.1   4.1.3_U1  3.0_U1        4.1.3 + fixes + Classic/LX support
  260.     1.1.1 B 4.1.3_U1 B              4.1.3 + fixes + Clas/LX/SS5/SS20
  261.     1.1.2   4.1.4     ??            The "final" 4.x release (in beta)
  262.     2.0     5.0       3.0.1         sun4c only
  263.    2.1SPARC 5.1       3.1           Dec '92
  264.    2.1 x86  5.1       3.1           May '93
  265.    2.2SPARC 5.2       3.2           May '93
  266.    2.3SPARC 5.3       3.3           Nov '93
  267.                 OpenWin 3.3 is X11R5 based: Display
  268.                 PostScript instead of NeWS, no SunView.
  269.                 It is still primarily OPEN LOOK.
  270.                 The Spring 1995 OpenWin will be Motif
  271.                 and COSE-based.
  272.     2.3 edition II SPARC    Special Solaris 2.3 distribution for
  273.                 Voyager and SparcStation 5
  274.     2.3 hardware 5/94 SPARC ??
  275.     2.3 hardware 8/94 SPARC Supports S24 (24 bits color for SS5),
  276.                 POSIX 1003.2, Energy Start power management
  277.                 and SunFastEthernet + patches.
  278.     2.4     SPARC/x86       From this moment on, the SPARC and x86
  279.                 releases will be in sync. Q3 '94
  280.  
  281. 1.6) Will my old applications from 4.1.x run on Solaris 2?
  282.  
  283.     There is quite a bit of support in SunOS 5.x for running 4.1.x
  284.     binaries in an emulation mode called "Binary Compatibility"
  285.     (BCP).  This works by dynamically linking the 4.1.x binaries
  286.     with a shared library that emulates the 4.1.x binary interface
  287.     on top of 5.x, so there is some overhead. Programs will only
  288.     work if they were dynamically linked (statically linked
  289.     binaries run in 2.3, but with some extra restrictions),
  290.     and if they meet certain other criteria. Best bet:
  291.     try it and see.
  292.  
  293.     Be aware, though, that Sun WILL drop the binary compatibility
  294.     package some year.  Try to wean yourself and your users from
  295.     depending on it, even if it means beating on your software
  296.     vendors to offer "native" Solaris2 applications.
  297.  
  298. 1.7) Will my old applications from SVR3 on the 386 run on Solaris 2/x86?
  299.  
  300.     As with SPARC, there is an emulation mode that should run the
  301.     majority of well-behaved SVR3 and Xenix binaries. I've not
  302.     had time to test it.
  303.  
  304.     Applications from any other vendor's standards-conforming
  305.     386/486 SVR4 should also run.
  306.  
  307.     However, some vendors have made incompatible changes to their
  308.     SVR4 release and programs linked on those versions may not work.
  309.     Future versions of Solaris 2.x for Intel will address some/most
  310.     of those incompatibilities.  Unixware is one of the offenders.
  311.  
  312. 1.8) Where has the XXX command gone now?
  313.  
  314.     There are too many of these changes to include in this FAQ, but
  315.     here are some key ones:
  316.  
  317.     a. locations are often different
  318.          hostid         /usr/ucb/hostid
  319.          whoami         /usr/ucb/whoami
  320.          hostname       /usr/ucb/hostname (or use uname -n)
  321.  
  322.     b. some old commands don't exist or have replacements
  323.  
  324.          4.1.X          Solaris 2.X
  325.  
  326.          pstat -s       swap -s  (how much swap space?)
  327.          dkinfo         /usr/sbin/prtvtoc raw_dev_name
  328.          trace          truss
  329.          mount -a       mountall
  330.          exportfs       share
  331.          bar            cpio -H bar (read only)
  332.  
  333.     This information can be found in the Solaris 2.x Transition Guide -
  334.     Appendix A (commands), Appendix B (system calls), Appendix C (files).
  335.  
  336.     This guide has undergone some changes from 2.0 -> 2.1 and beyond.
  337.     Several manuals have ended up being combined into this single
  338.     manual. This manual discusses administrative transition and
  339.     developer transition issues.
  340.  
  341.     The command "whatnow" (for Solaris 2.x) is included in the
  342.     "Admigration Toolkit" package (see below). The Admigration
  343.     toolkit can be obtained from:
  344.  
  345.         opcom.sun.ca:/pub/AMToolkit-2.2a.*
  346.  
  347.     Sample output:
  348.     % whatnow hostname
  349.     hostname                                        4.x command only
  350.     hostname        /usr/ucb/hostname               part of SCP package
  351.     hostname        /usr/bin/uname -n               alternate command
  352.  
  353.     The whatnow command is limited in that it may point to
  354.     one command which may only implement a subset of the old
  355.     command (e.g., pstat points to sar, while pstat -s is identical
  356.     to swap -s)
  357.  
  358. 1.9) When I upgrade, should I use SunInstall "upgrade", or start over?
  359.  
  360.     You can't do a SunInstall "upgrade" from 4.1.x to Solaris2.
  361.     You can use the Admigration toolkit (q.v.) to help you move
  362.     from SunOS 4.1.x (Solaris 1, actually) to Solaris 2.
  363.  
  364.     If you're moving from Solaris 2.1 to 2.2, or 2.2 to 2.3, ...,
  365.     then you can use "upgrade" to preserve your existing partitions
  366.     and local changes (including pkgadd!!), though it runs very
  367.     slowly (about 1.5-2x the time for a reinstall) and does require
  368.     that you have enough free space in / and /usr - make these big
  369.     when you first install!  If you run out of space in one of
  370.     your partitions, you can always remove some components.  Those
  371.     will not be upgraded and can be installed elsewhere after
  372.     initial upgrade (e.g., you can remove OW, Xil, Dxlib, manual
  373.     pages, etc)
  374.  
  375.     There is no need to backout patches before upgrading.
  376.     In 2.2, the system would back them out for you, in 2.3 it
  377.     won't back out the patches but removes them without a trace.
  378.  
  379.     The upgrade doesn't work as well as a full install.
  380.     E.g., the upgrade from 2.x (x<3) to 2.3 will leave
  381.     aliases for all your ptys in /devices/pseudo.
  382.  
  383. 1.10) Is Solaris 2.x reliable/stable enough to use?
  384.  
  385.     The consensus seems to be that yes, it is, for many applications
  386.     and most users. Your mileage may vary.
  387.  
  388.     Binary compatibility was much improved in 2.3.  That will help
  389.     transition somewhat.  The performance of 2.3 is adequate, though
  390.     some parts of the system are still slower than SunOS 4.1.x.
  391.     Solaris 2.3 is much more stable on MP machines than 2.2.
  392.     The Solaris 2.3 version of OpenWindows is much faster and much
  393.     more stable than the versions shipped with SunOS 4.1.x.
  394.  
  395.     Solaris 2.1 and earlier should really be avoided.  Solaris 2.2
  396.     should be avoided too, but some people need to stick to it
  397.     until some applications get ported (2.2 is the last release
  398.     with NeWS)
  399.  
  400.     Solaris 2.3 still has some problems on high-end MP systems with
  401.     large numbers of interactive users.  Solaris 2.4 promises much
  402.     more scalable multi-processing.
  403.  
  404. 1.11) Why do some people dislike Solaris2?
  405.  
  406.     There is a number of reasons why people dislike Solaris.
  407.  
  408.     1) Change.  In general people dislike change.  Change requires
  409.     relearning and retraining.  Old system administration practices
  410.     no longer work.  Commands have been replaced by other commands,
  411.     some commands behave differently.  And they ask why the change was
  412.     necessary.  SunOS 4.x worked for them.
  413.  
  414.     2) Lack of migration support.  Sun did not provide a lot of
  415.     tools to ease migration.  Many applications wouldn't run in the
  416.     binary compatibility mode.  The source compatibility mode was
  417.     probably compatible with some OS, but it certainly wasn't SunOS.
  418.     Lot of public domain and third party stuff needed wasn't
  419.     immediately available for Solaris.  NIS+, buggy, resource hungry
  420.     and instable replaced NIS in incompatible ways.
  421.  
  422.     3) Missing functionality.  When people migrate, they at first
  423.     don't tend to notice new functionality.  Instead, they stumble
  424.     upon missing functionality such as screenblank, clear_colormap
  425.     and the like.
  426.  
  427.     4) Slow and buggy.  The initial Solaris releases didn't perform
  428.     at all well and were extremely instable.  This is improving
  429.     rapidly, but SuperSPARC MP machines need a heavily patched 2.3
  430.     to work reliably.
  431.  
  432. 1.12) Why do some people *like* Solaris2?
  433.  
  434.     There are improvements in Solaris 2.x.
  435.  
  436.     1) OpenWindows 3.3 (in Solaris 2.3).  Includes X11R5 and
  437.     Display PostScript.
  438.  
  439.     2) ANSI-C and POSIX development environment.
  440.  
  441.     3) Multithreaded kernel and real threads.
  442.  
  443.     4) True multi-processing.
  444.  
  445.     5) Goodies: vold, admintool and Wabi.
  446.  
  447. 2. MORE INFO
  448.  
  449. 2.1) How can I RTFM when I don't have it anymore?
  450.  
  451.     "RTFM" is an old saying: Read The "Fine" Manual.  Sun still
  452.     sell printed manuals, but doesn't automatically distribute
  453.     them.  As with all real UNIX systems, you do get a full set of
  454.     online "man" pages. A smaller, lighter, bookshelf-friendly :-)
  455.     CD-ROM called "The AnswerBook"(tm) contains all the printed
  456.     documents in machine-readable (PostScript) form, with hypertext
  457.     capabilities and a keyword search engine. 90% of your
  458.     introductory questions are answered therein!
  459.  
  460.     In Solaris 2.x the Answerbook set gets increasingly more
  461.     divided into pieces.  It is currently (2.3) split over 4 CDs
  462.  
  463.     Solaris 2.x CD:
  464.         Solaris 2.x User AnswerBook
  465.  
  466.     Solaris 2.x administrator answerbook
  467.         Solaris 2.x System Administrator AnswerBook
  468.         Solaris 2.x on Sun Hardware AnswerBook
  469.         Solaris 2.x Reference Manual AnswerBook
  470.  
  471.     Solaris 2.x Software Developer Kit
  472.         All programming manuals.
  473.  
  474.     Solaris 2.x Driver Developer Kit
  475.         Device driver developer manuals.
  476.  
  477.     There is some overlap between CDs.
  478.  
  479.     As distributed with 2.1 and 2.2, the Answerbook search engine
  480.     runs only with the OpenWindows ("xnews") server, not with MIT
  481.     X11. This changed in 2.3. If you are using the MIT server
  482.     instead of what Sun provides, you'll have to use one of several
  483.     "answerbook workaround" scripts that are in circulation. The
  484.     AnswerBook distributed with 2.3 and later runs with the OW3.3
  485.     X11R5+DPS server, so it should display on any X11+DPS server,
  486.     such as on DEC, IBM and SGI workstations.
  487.  
  488.     You should buy (or print from within Answerbook) at least the
  489.     reference manual and the System and Network Administration
  490.     books, because if your system becomes disabled you won't be
  491.     able to run the Answerbook to find out how to fix it...
  492.  
  493. 2.2) Why is "man -k" so confused?
  494.  
  495.   Solaris man uses a manual page index file called "windex" in
  496.   place of the old "whatis" file. You can build this index with
  497.         cd <man-page-directory>; catman -w -M .
  498.  
  499.   But, in 2.1, this will result in numerous "line too long" messages
  500.   and a bogus windex file in /usr/share/man, and a core dump in
  501.   /usr/openwin/man. (In 2.2, catman works in /usr/share/man, but
  502.   says "line too long" in /usr/openwin/man).  To add injury to
  503.   insult, "man" normally won't show you a man page if it can't find
  504.   the windex entry, even though the man page exists.
  505.  
  506.   There's a "makewhatis" script in /usr/openwin/man that works
  507.   better than catman. But watch it - by default it searches files
  508.   in /usr/man, not in openwin, and it only looks in some predefined
  509.   man subdirectories. Try changing its "for ..." command to
  510.   "for i in man*", then use it like this:
  511.         cd /usr/share/man; /usr/openwin/man/makewhatis .
  512.         cd /usr/openwin/man; /usr/openwin/man/makewhatis .
  513.  
  514.   Still (!), the openwin windex file is somewhat hosed (try "man
  515.   answerbook" :-(.  You can always delete the bogus lines manually...
  516.   or, you can alias man to "man -F", forcing it to look for the
  517.   bloody file like you asked.
  518.  
  519.   But wait, there's more! To see the read(2) man page, you can't
  520.   just type "man 2 read" anymore - it has to be "man -s 2 read".
  521.   Or, alias man to this little script:
  522.  
  523.         #!/bin/sh
  524.         if [ $# -gt 1 -a "$1" -gt "0" ]; then
  525.             /bin/man -F -s $*
  526.         else
  527.             /bin/man -F $*
  528.         fi
  529.  
  530. 2.3) What Software is available for Solaris 2.x?
  531.  
  532.     Most commercial software that ran on 4.x either will run in BCP
  533.     mode, or is available for Solaris 2.x, or is being ported now.
  534.     Solaris 2.3 BCP mode finally supports statically-linked executables.
  535.  
  536.     You can obtain a list of official 3rd party porting
  537.     commitments, maintained by Sun's "Solaris Demand Center"
  538.     (whatever that is), by sending electronic mail to
  539.     "solaris2apps@sun.com" -- this is an automatic reply server.  The list
  540.     shows what third party applications are currently available for
  541.     Solaris, and lists expected dates for many more.
  542.  
  543.     A list of freeware (some "public domain", but mostly copyright-
  544.     but-freely-distributable) [as well as commercial software??]
  545.     that has been ported to Solaris 2.x
  546.     is posted monthly to the newsgroup comp.unix.solaris by
  547.     ric@updike.sri.com (Richard Steinberger). Look for this:
  548.  
  549.         Subject: Solaris SW list.  Monthly Post.
  550.  
  551.     If you can't wait, the list is also available via anonymous FTP
  552.     from updike.sri.com.
  553.  
  554. 2.4) What FTP/WWW sites do I need to know about?
  555.  
  556.     www.sun.com
  557.     Sun's own WWW site, contains pointers to Sunsites, patches
  558.     and has lots of info, press releases etc, etc.
  559.  
  560.     SunSites - Sun sponsored sites.  Lots of good stuff here:
  561.     SunSITE USA at UNC - Chapel Hill (sunsite.unc.edu)
  562.     SunSITE Japan at Science University - Tokyo (sunsite.sut.ac.jp)
  563.     SunSITE North Europe at Imperial College - London (www.doc.ic.ac.uk)
  564.  
  565.     Solaris at UMBC
  566.     Solaris tips & tricks by Vijay Gill
  567.  
  568.     ftp.x.org - the master X11 site
  569.  
  570.     camus.quintus.com:/pub/GNU - GNU binaries
  571.  
  572.     ftp.uu.net - UuNet communication archives
  573.     (mirrors abovementioned GNU binaries in systems/gnu/solaris2.3)
  574.  
  575.     OpCom. (opcom.sun.ca) - run by Sun Microsystems' OpCom group - lots
  576.     of stuff. Here is some of the stuff that's online:
  577.  
  578.     pub/AMToolkit.* - the Administration Migration (4.1.x to Solaris 2)
  579.               Toolkit
  580.  
  581.     pub/binaries    - binaries/man pages for Solaris 2.0 native binaries.
  582.  
  583.     pub/newsletter  - issues of the monthly OpCom newsletter.
  584.  
  585.     pub/docs        - assorted documentation, papers, and other information.
  586.             - all of the RFCs
  587.  
  588.     pub/drivers     - information related to device driver writing under
  589.               under Solaris 2.0 as well as a skeleton SCSI driver.
  590.  
  591.     ls-lR.Z         - compressed recursive listing of files available
  592.               on the server.
  593.  
  594.     pub/tars        - compressed tars.
  595.  
  596.     pub/tmp         - place for uploading things to the server.
  597.  
  598.     pub/R5          - the unadultered MIT x11r5 distribution.
  599.  
  600.     pub/x11r5       - port of X11r5 to Solaris 2.0, binaries, libraries
  601.               and headers.  A compressed tar of this tree can
  602.               be found in tars.
  603.  
  604.     prep.ai.mit.edu and the GNU mirrors
  605.  
  606.     pub/gnu/sparc-sun-solaris2      - recent gcc binaries for SPARC
  607.     pub/gnu/i486-sun-solaris2       - recent gcc binaries for i486
  608.  
  609.     ftp.fwi.uva.nl
  610.     pub/solaris
  611.         - where the Solaris FAQ is kept, including an html
  612.           version.
  613.           Accompanied by versions of the wabi1.0 FAQ and
  614.           x86 hw-config as send out by Sun's autoreply daemons.
  615.  
  616.     pub/solaris/auto-install
  617.         - fully automated auto-install scripts, including
  618.           an explanation of exactly what a machine needs when
  619.           booting the installation, automated patch installation
  620.           and even post-install updates from your install tree,
  621.           which gives you an easy way to keep all your Solaris
  622.           machines in sync.
  623.  
  624. 2.5) What other FAQ's do I need to know about?
  625.  
  626.     All of them :-). But in particular you should see these FAQ's:
  627.  
  628.     1) Newsgroups: comp.sys.sun.admin,comp.sys.sun.misc,comp.unix.solaris,
  629.         comp.answers,news.answers
  630.     Subject: FAQ: Sun Computer Administration Frequently Asked Questions
  631.  
  632.     2) The "Solaris 2 Porting FAQ" from David Meyer in this newsgroup.
  633.     For those developing or compiling software.
  634.     Archive-name: Solaris2/Porting.
  635.  
  636.     3) comp.windows.open-look - Anything related to OpenWindows or the
  637.         OPEN LOOK Graphical User Interface.
  638.  
  639.     4) The Sun-Managers mailing list (see below) has its own FAQ,
  640.         maintained by John DiMarco <jdd@cdf.toronto.edu>.
  641.         FTP from ra.mcs.anl.gov in the sun-managers directory.
  642.  
  643.     5) See also the "Solaris SW list. Monthly Post" above and the
  644.         "whatlist" file.
  645.  
  646. 2.6) What mailing lists should I get?
  647.  
  648.     First, read all the USENET newsgroups with "sun" in their name :-)
  649.  
  650.     1) The Florida SunFlash is a "closed" mailing list for Sun owners.
  651.     It contains mostly press releases from Sun and third-party
  652.     vendors.  This list contains information on conferences such as
  653.     the Solaris Developer's Conference as well.  It is normally
  654.     distributed regionally - to find out about a mail point in your
  655.     area, or for other information send mail to info-sunflash@Sun.COM.
  656.  
  657.     Subscription requests should be sent to sunflash-request@Sun.COM.
  658.     Archives are on solar.nova.edu, ftp.uu.net, sunsite.unc.edu,
  659.     src.doc.ic.ac.uk and ftp.adelaide.edu.au
  660.  
  661.     2) The Sun Managers list is an unmoderated mailing list for
  662.     *emergency-only* requests. Subscribe and listen for a while,
  663.     and read the regularly-posted Policy statement BEFORE sending
  664.     mail to it, and to get a feel for what kinds of traffic it carries.
  665.     Write to sun-managers-request@eecs.nwu.edu.
  666.  
  667. 2.7) What books should I read?
  668.  
  669.     O'Reilly & Associates specializes in UNIX books.  Their "UNIX
  670.     In A Nutshell" has been updated for SVR4 and Solaris 2.0.  Get
  671.     their catalog by calling 800-998-9938 (1-707-829-0515) 7AM to
  672.     5PM PST.
  673.  
  674.     SunSoft Press carries books specific to Solaris 2. Look for the
  675.     inset with your End User Media Kit that lists the most relevant ones.
  676.  
  677.     Prentice-Hall has reprints of much of the AT&T documentation.
  678.     I'm not sure how much of this you need - a lot of the same
  679.     material is in the Answerbook (see above).
  680.  
  681. *2.8) What hardware is supported by Solaris 2.x for Intel?
  682.  
  683.     The complete and often updated list Solaris x86 hardware options
  684.     can be obtained by sending an email message without subject/body
  685.     to:
  686.  
  687.         x86-hwconfig@cypress.West.Sun.COM
  688.  
  689.     This address now sends out info on Solaris 2.4.
  690.  
  691. *2.9) What is Wabi?
  692.  
  693.     Wabi is Sun's new MS-Windows-under-unix emulator.
  694.     The Wabi faqs can be obtained by sending an empty message to:
  695.  
  696.         wabi1.0-questions@East.Sun.com
  697.         wabi1.1-questions@East.Sun.com
  698.  
  699.     The list of current Wabi (and future :-) apps can be obtained by
  700.     mailing:
  701.  
  702.         wabi1.0-apps@East.Sun.COM
  703.         wabi1.1-apps@East.Sun.COM
  704.         wabi2.0-apps@East.Sun.COM
  705.  
  706.     Applications that execute a lot of X86 code, run fastest on
  707.     Solaris 2.x_86, as no x86 emulation needs to be done.
  708.     Applications that are more windows intensive will run
  709.     better on machines with faster graphics hardware.
  710.  
  711.     The currently shipping version of Wabi is Wabi 1.1.
  712.  
  713.     Wabi will not be made available for SunOS 4.1.x.
  714.  
  715.  
  716. 3. SYSTEM ADMINISTRATION
  717.  
  718. 3.1) How much disk space do I need to install Solaris 2?
  719.  
  720.     A full install of 2.2 is supposed to be 164 MB, but that doesn't
  721.     include swap. Here is a net exchange between Casper Dik and Gil Tene:
  722.  
  723.     In article <1993Apr2.083549.19177@fwi.uva.nl>, Casper writes:
  724.     |> >How much disc space does SOLARIS take up ? That is should we buy a
  725.     |> >424MB disc or get a 1Gb disc to put it on :-)
  726.     |>
  727.     |> Solaris 2.x takes about as much diskspace as SunOS 4.x:
  728.     |>
  729.     |> Partition/Slice Solaris SunOS
  730.     |> /            10MB     8MB
  731.     |> /usr         78MB    90MB
  732.     |> /var         10MB    10MB
  733.     |> /usr/openwin 83MB    83MB
  734.     |>
  735.  
  736.     Gil replies:
  737.     On my system, with a full Solaris installation (EVERYTHING selected)
  738.     + gnu's binary stuff for solaris (off of the Catalyst CD) installed
  739.     in /opt I see a similar situation to the above plus :
  740.  
  741.     16852   /opt/SUNWabe
  742.     19      /opt/SUNWcg12
  743.     7968    /opt/SUNWdiag
  744.     721     /opt/SUNWgt
  745.     7740    /opt/SUNWits
  746.     14609   /opt/cygnus-sol2-1.0
  747.  
  748.     (output from "du -k -s /du/*")
  749.  
  750.     - SUNWabe is the end user answerbook stuff.  (vi, mail, Deskset tools
  751.       etc, etc)
  752.  
  753.     - SUNWcg12 is (obviously) cg12 support.
  754.  
  755.     - SUNWdiag is obvious too.
  756.  
  757.     - SUNWgt is support for gt boards.
  758.  
  759.     - SUNWits is the xgl3.0 library (it has libPEX5.so.1 in there too).
  760.  
  761.     - cygnus-sol2-1.0 is the gcc2.0+tools stuff. I have gcc2.3.3 on
  762.       another partition and that takes about the same space as 2.0 does.
  763.  
  764.     Another important note : The full Solaris 2.1 answerbook takes up 164MB
  765.     on disk. I highly recommend installing it and not using it off the
  766.     CDROM drive. It's much more usable (faster) this way. And it always
  767.     stays around -- even when you have something else in the CDROm drive.
  768.  
  769. 3.2) How can I convert all my local changes that I've made over the
  770. years into their corresponding forms on Solaris 2?
  771.  
  772.     1) Do it by hand. You did document every single change and
  773.     check it into RCS, didn't you?
  774.  
  775.     2) Automate it, using the AMToolkit (Administration Migration
  776.     Toolkit) from the OpCom FTP server (q.v.)!
  777.  
  778. 3.3) What are "packages"?
  779.  
  780.     A SVR4 mechanism for "standardizing" the installation of
  781.     optional software. Most vendors are expected to use this
  782.     format for distributing add-on software for Solaris 2.x.
  783.  
  784.     Packages can be installed/deinstalled with pkgadd/pkgrm which
  785.     are standard SVR4 items, or with swm (CRT) or swmtool (GUI-based)
  786.     which are provided only in Solaris 2.
  787.  
  788.     Note that the "pkg" system keeps lots of files in /var/sadm/install,
  789.     and in particular the file "contents", which is hundreds of KB,
  790.     and that there are two copies of it while pkgadd is running, so you
  791.     needs lots of free space where /var is, typically the root.
  792.     This file must be kept around if you want, for example, to use
  793.     pkgrm to remove a package, or pkgchk to verify months later that
  794.     all of a a package's files are still intact.
  795.  
  796.     Summary of pkg* commands:
  797.  
  798.         pkginfo <pkg>   - test for presents of package.
  799.         pkgadd -d /<cdrom>/Solaris_2.3 <pkg ...>
  800.                 - add missing packages
  801.         pkgrm <pkg ...> - remove packages.
  802.  
  803. 3.4) Why can't I write in /home?
  804.  
  805.     This is a common one! SunOS is delivered with the "automounter"
  806.     enabled. The automounter is designed for NFS sites, to
  807.     simplify maintenance of the list of filesystems that need
  808.     mounting. However it is a burden for standalone sites.
  809.  
  810.     The automounter takes over /home and in effect becomes the NFS
  811.     server for it, so it no longer behaves like a normal directory.
  812.     This is normally a Good Thing as it simplifies administration if
  813.     everybody's home directory is /home/<username>.
  814.  
  815.     To kill it off for standalone or small networks, you can comment out
  816.     the three lines in /etc/init.d/nfs.client that start "if" (from the if
  817.     to the fi!!), and reboot (Solaris 2.2) or remove the file
  818.     /etc/rc2.d/S73autofs (Solaris 2.3).  You can always relink
  819.     that file with /etc/init.d/autofs if you change your mind.
  820.  
  821.     To learn about it, read the O'Reilly book "Managing NFS and
  822.     NIS", or ftp the white paper 'The Art of Automounting".  from
  823.     sunsite.unc.edu in the directory /pub/sun-info/white-papers.
  824.  
  825. 3.5) Why can't I access CDs or floppies?
  826.  
  827.     Solaris 2.2 introduces a new scheme for automatically mounting
  828.     removable media. It consists of a program "vold" (volume daemon) which
  829.     sits around watching for insertions of floppies and CD's,
  830.     handles ejects, talks to the file manager, and invokes a second
  831.     program called "rmmount" (removable media mounter) to mount the disk.
  832.  
  833.     Note that on most SPARCstations, you must run "volcheck"
  834.     whenever you insert a floppy, as the floppy hardware
  835.     doesn't tell SunOS that a floppy was inserted.
  836.  
  837.     Advantages of this scheme:
  838.     - no longer need root; users can mount and unmount at will.
  839.     - can do neat tricks like automagically start "workman" or
  840.       other Audio CD player when audio CD inserted.
  841.     - extensible - developers can write their own actions
  842.  
  843.     Drawbacks:
  844.     - can no longer access /dev/rfd0 to get at floppy; must use
  845.       longer name like /vol/dev/rdsk/floppy0
  846.     - similarly, CD's get mounted on /cdrom/VOLNAME/SLICE, e.g.,
  847.       /cdrom/solaris_2_2/s0 is slice 0 of the Solaris 2 CD
  848.       (nice that it does mount all the partitions, though!).
  849.  
  850.     To read or write a non-filesystem floppy (tar, cpio, etc),
  851.     put in the diskette and run "volcheck" to get it noticed; then access
  852.     /vol/dev/rfd0/unlabeled  (e.g. "tar tvf /vol/dev/rfd0/unlabeled").
  853.  
  854.     [Solaris 2.3: /vol/dev/rdiskette0/unlabeled, or
  855.           /vol/dev/aliases/floppy0.]
  856.  
  857.     If you want the old behaviour, it's been suggested that you
  858.     can comment out the vold startup in /etc/init.d/volmgt and
  859.     then reboot; an easier way is # /etc/init.d/volmgt stop.
  860.  
  861. 3.6) Why are there no passwords in /etc/passwd?
  862.  
  863.     System V Release 4 includes a feature called "shadow passwords".
  864.     The encrypted passwords are moved out into a shadow password file
  865.     (called /etc/shadow in this release) that is NOT publicly readable.
  866.     The passwd file has always been readable so that, for example, ls -l
  867.     could figure out who owns what. But having the passwd encryptions
  868.     readable is a security risk (they can't be decrypted but the bad guy
  869.     can encrypt common words and names &c and compare them with the
  870.     encryptions).
  871.  
  872.     The Shadow Password feature is mostly transparent, but if you
  873.     do any passwd hacking you have to know about it!  And DO make
  874.     sure that /etc/shadow is not publicly readable!
  875.  
  876. 3.7) Why can't I rlogin/telnet in as root?
  877.  
  878.     >... when I try to rlogin as root ...
  879.     >it gives me the message "Not on system console
  880.     >Connection closed.".  What have I left out?
  881.  
  882.     Solaris 2 comes out of the box a heck of a lot more secure than
  883.     Solaris 1.  There is no '+' in the hosts.equiv.  root logins are not
  884.     allowed anywhere except the console.  All accounts require passwords.
  885.     In order to allow root logins over the net, you need to edit the
  886.     /etc/default/login file and comment out or otherwise change the
  887.     CONSOLE= line.
  888.  
  889.     This file's CONSOLE entry can actually be used in a variety of ways:
  890.  
  891.     1) CONSOLE=/dev/console (default) - direct root logins only on console
  892.     2) CONSOLE= - direct root logins disallowed everywhere
  893.     3) #CONSOLE (or delete the line) - root logins allowed everywhere
  894.  
  895. 3.8) How can I set up anonymous FTP?
  896.  
  897.     If you need help, ftp the file "solaris2.ftpsetup" from
  898.     ftp.cs.toronto.edu:/pub/darwin/solaris2.
  899.  
  900.     ftpd(1M) is nearly complete when it comes to setting
  901.     up anonymous ftp.  It only leaves out /etc/nsswitch.conf. [S2.3]
  902.  
  903. 3.9) How can I print from a Solaris 2 (or any System V Release 4) system
  904. to a SunOS4.x (or any other BSD) system?
  905.  
  906.     Hmmm, the lp system is totally different than what you're used to.
  907.     The System V Line Printer System is a lot more, well, flexible.
  908.     A cynic might say "complicated".  Here's a very quick guide --
  909.     see the man pages for each of these commands for the details.
  910.  
  911.     Let's say your Solaris2 workstation is called "sol" and the
  912.     4.1.x server is called "bertha" and you want the printer name
  913.     to be "printer" (imaginative, eh?).
  914.  
  915.     sol# lpsystem -t bsd bertha             # says bertha is a bsd system
  916.     sol# lpadmin -p printer -s bertha       # creates "printer" on "sol"
  917.                         # to be printed on "bertha"
  918.     sol# accept printer                     # allow queueing
  919.     sol# enable printer                     # allow printing
  920.     sol# lpstat -t                          # check the status
  921.  
  922.     Finally, if that's your only printer, make it the default:
  923.  
  924.     sol# lpadmin -d printer
  925.  
  926.     On some systems you may have to turn on the port monitor.
  927.  
  928. I did that. Why does it now complain about invalid content types?
  929.  
  930.     I said it was complicated!
  931.  
  932.     For better or for worse, you need to know about printer content types.
  933.     See the man page for "lpadmin".
  934.  
  935.     To get transparent mode, try this:
  936.  
  937.     lpadmin -I any -p printer
  938.  
  939. Isn't there any easier way?
  940.  
  941.     The GUI-based Admintool has a Printer Manager that is supposed to
  942.     be able to do all this and more. Try it; Sun hopes you'll like it.
  943.  
  944. Now my jobs print but they stay in the queue after!?
  945.  
  946.     It's a known bug, and probably get fixed in 2.3.
  947.     There's also a number of lpsched patches out for
  948.     Solaris: 101025-xx (2.2) and 101317-xx (2.3).
  949.     Make sure you install those.
  950.  
  951.  
  952. *3.10) What if I'd rather use the BSD line printer system?
  953.  
  954.     The 4.3BSD-reno lpr system for Solaris 2, file
  955.         lpr-sol2-p3.tar.gz or lpr-sol2-p3.tar.Z
  956.     is available from the following FTP site:
  957.  
  958.     get ftp.nus.sg:/pub/NUS/ISCS/misc/lpr-sol2-p3.tar.gz
  959.  
  960.     And don't despair.  Someday the System V print spooler will be
  961.     replaced by something new.  (See the Solaris 2.3/2.4 Open
  962.     Issues & Late Breaking News For System Administrators)
  963.  
  964.  
  965. 3.11) What happened to /dev/MAKEDEV? How do I add devices?
  966.  
  967.     Device drivers are linked in dynamically. When you add new
  968.     devices, just shutdown the system and do
  969.         boot -r # use drive spec if not default disk
  970.     to *r*ebuild the /devices and /dev directories.
  971.  
  972.     If you're just adding a SCSI disk, you don't need to reboot.  Run the
  973.     following script (as root):
  974.  
  975.     #!/bin/sh
  976.     #
  977.     # add-disk
  978.     #
  979.     #       Runs the commands to make Solaris locate a new disk that
  980.     #       has been plugged in after the system was booted.
  981.     #
  982.  
  983.     /usr/sbin/drvconfig
  984.     /usr/sbin/devlinks
  985.     /usr/sbin/disks                 # or /usr/sbin/tapes for tapes
  986.     /usr/ucb/ucblinks               # Compatibility links
  987.  
  988.     exit 0
  989.  
  990.     Note that this only works if you already have at least one SCSI disk on
  991.     the system.  (This is because the above just makes symbolic links and
  992.     things, it does not load up the SCSI driver kernel modules, etc.)
  993.  
  994. 3.12) What happened to /etc/rc and /etc/rc.local?
  995.  
  996.     They're now fragmented into 12 million tiny little pieces. Look in
  997.     the following files to get oriented:
  998.         /etc/inittab - starting point for init
  999.         /sbin/rcS, /etc/rcS.d/* - booting stuff
  1000.         /sbin/rc2, /etc/rc2.d/*,
  1001.             /sbin/rc3, /etc/rc3.d/* - stuff for multi-user startup.
  1002.     Note that all files in /etc/rc*.d/* are hardlinked from
  1003.     /etc/init.d (with better names), so you should grep in there.
  1004.  
  1005.     There are many "run levels" to the System V init; the run
  1006.     level 3 is normally used for "multi user with networking."
  1007.  
  1008. I can't understand that stuff; can't I have /etc/rc.local back?
  1009. I just want to keep all my local changes in one place.
  1010.  
  1011.     No. You can never have rc.local back the way it was. But then, it
  1012.     never really *was* purely a "local" rc file. To have a real
  1013.     "local" rc file with just your changes in it, copy this file
  1014.     into /etc/init.d/rc.local, and ln it to /etc/rc3.d/S99rc.local.
  1015.     Put your startup stuff in the "start" section.
  1016.  
  1017.     ----- Cut here -----
  1018.     # /etc/init.d/rc.local - to be linked into /etc/rc3.d as
  1019.     # S99rc.local -- a place to hang local startup stuff.
  1020.     # started after everything else when going multi-user.
  1021.  
  1022.     # Ian Darwin, Toronto, November, 1992
  1023.     # As with all system changes, use at own risk!
  1024.  
  1025.     case "$1" in
  1026.     'start')
  1027.         echo "Starting local services...\c"
  1028.  
  1029.         if [ -f /usr/sbin/mydaemon ]; then
  1030.             /usr/sbin/mydaemon 1>/dev/console 2>&1
  1031.         fi
  1032.         echo ""
  1033.         ;;
  1034.     'stop')
  1035.         echo "$0: Not stopping any services."
  1036.         ;;
  1037.     *)
  1038.         echo "Usage: $0 { start | stop }"
  1039.         ;;
  1040.     esac
  1041.     ------ End of Cut Here -----
  1042.  
  1043. 3.13) Speaking of that, why are there two versions of shutdown?
  1044.  
  1045.     SVR4 (hence SunOS 5.x) tries to make everybody happy. The
  1046.     traditional (slow) System V "shutdown" runs all the rc?.d/*
  1047.     shell scripts with "stop" as the argument; many of them run
  1048.     ps(!) to look for processes to kill. The UCB "shutdown" tells
  1049.     init to kill all non-single-user processes, which is about two
  1050.     orders of magnitude faster. Unfortunately, the UCB version does
  1051.     everything it should *except* actually halt or reboot in
  1052.     SunOS5.1 (and some other SVR4 implementations).
  1053.     This is fixed in Solaris 2.3.
  1054.  
  1055.     If you run a database (like oracle) or INN, you should
  1056.     install a special /etc/rc?.d/K* script and make sure you
  1057.     always shutdown the long way.
  1058.  
  1059. 3.14) When will somebody publish a package of the BSD (4.3BSD Net2)
  1060.     "init", "getty", and "rc/rc.local", so we can go back to life
  1061.     in the good old days?
  1062.  
  1063.     Getty should be easy and was reportedly done at a number of
  1064.     sites.  The port monitor isn't everyones favourite. But given
  1065.     that you can do much more with the SVR4 init, why would
  1066.     you want to change back?  It would be much more trouble than
  1067.     it's worth.
  1068.  
  1069. 3.15) What has happened to getty? What is pmadm and how do you use it?
  1070.  
  1071.     I was hoping you wouldn't ask. PMadm stands for Port Monitor Admin,
  1072.     and it's part of a ridiculously complicated bit of software
  1073.     over-engineering that is destined to make everybody an expert.
  1074.  
  1075.     Best advice for workstations: don't touch it! It works out of the box.
  1076.     For servers, you'll have to read the manual.
  1077.     This should be in admintool in Solaris2.3.
  1078.     For now, here are some basic instructions from Davy Curry.
  1079.  
  1080.     "Not guaranteed, but they worked for me."
  1081.  
  1082.     To add a terminal to a Solaris system:
  1083.  
  1084.     1. Do a "pmadm -l" to see what's running.  The serial ports on the
  1085.     CPU board are probably already being monitored by "zsmon".
  1086.  
  1087.     PMTAG          PMTYPE         SVCTAG         FLGS ID       <PMSPECIFIC>
  1088.     zsmon          ttymon         ttya           u    root     \
  1089.         /dev/term/a I - /usr/bin/login - 9600 ldterm,ttcompat ttya \
  1090.         login:  - tvi925 y  #
  1091.  
  1092.     2. If the port you want is not being monitored, you need to create a
  1093.     new port monitor with the command
  1094.  
  1095.         sacadm -a -p PMTAG -t ttymon -c /usr/lib/saf/ttymon -v VERSION
  1096.  
  1097.     where PMTAG is the name of the port monitor, e.g. "zsmon" or "alm1mon",
  1098.     and VERSION is the output of "ttyadm -V".
  1099.  
  1100.     3. If the port you want is already being monitored, and you want to
  1101.     change something, you need to delete the current instance of the port
  1102.     monitor.  To do this, use the command
  1103.  
  1104.         pmadm -r -p PMTAG -s SVCTAG
  1105.  
  1106.     where PMTAG and SVCTAG are as given in the output from "pmadm -l".  Note
  1107.     that if the "I" is present in the <PMSPECIFIC> field (as it is above),
  1108.     you need to get rid of it.
  1109.  
  1110.     4. Now, to create a specific instance of ttymon for a port, issue the
  1111.     command:
  1112.  
  1113.     pmadm -a -p PMTAG -s SVCTAG -i root -fu -v 1 -m \
  1114.         "`ttyadm -m ldterm,ttcompat -p 'PROMPT' -S YORN -T TERMTYPE \
  1115.         -d DEVICE -l TTYID -s /usr/bin/login`"
  1116.  
  1117.     Note the assorted quotes; Bourne shell (sh) and Korn (ksh) users
  1118.     leave off the second backslash!
  1119.  
  1120.     In the above:
  1121.  
  1122.     PMTAG is the port monitor name you made with "sacadm", e.g. "zsmon".
  1123.  
  1124.     SVCTAG is the service tag, which can be the name of the port, e.g.,
  1125.             "ttya" or "tty21".
  1126.  
  1127.     PROMPT is the prompt you want to print, e.g. "login: ".
  1128.  
  1129.     YORN is "y" to turn software carrier on (you want this for directly
  1130.     connected terminals" and "n" to leave it off (you want this
  1131.     for modems).
  1132.  
  1133.     TERMTYPE is the value you want in $TERM.
  1134.  
  1135.     DEVICE is the name of the device, e.g. "/dev/term/a" or "/dev/term/21".
  1136.  
  1137.     TTYID is the line you want from /etc/ttydefs that sets the baud rate
  1138.         and stuff.  I suggest you use one of the "contty" ones for
  1139.         directly connected terminals.
  1140.  
  1141.     5. To disable ("turn off") a terminal, run
  1142.  
  1143.         pmadm -d -p PMTAG -s SVCTAG
  1144.  
  1145.     To enable ("turn on") a terminal, run
  1146.  
  1147.     pmadm -e -p PMTAG -s SVCTAG
  1148.  
  1149.     Ports are enabled by default when you "create" them as above.
  1150.  
  1151.     For more details, see the article:
  1152.         SUMMARY: Solaris modem/terminal how-to: Rev xx.xx.xx
  1153.     posted periodically to comp.unix.solaris by
  1154.     celeste@xs.com (Celeste Stokely).
  1155.  
  1156. 3.16) How do I get the screen to blank when nobody's using it?
  1157.  
  1158.     Under 4.1.x you invoke screenblank in /etc/rc.local, but there's no
  1159.     screenblank in Solaris 2.1.  Sun recommends that you
  1160.     have everybody put `xset s on' in their .xinitrc, but this
  1161.     may be hard to police, and in any event it won't work when nobody is
  1162.     logged in.  The simplest workaround is to copy /usr/bin/screenblank
  1163.     from 4.1.x and run it in binary compatibility mode.  See ``What
  1164.     happened to /etc/rc and /etc/rc.local?'' for how to invoke it.
  1165.  
  1166.     Another possibility is to use xdm, but you'll have to use your own,
  1167.     since the xdm shipped with Solaris 2.1 doesn't work.
  1168.  
  1169.     The 4.1.x screenblank didn't work for us; We use Jef Poskanzer's
  1170.     freeware screenblank.  His version is available from
  1171.     ftp.netcom.com:/pub/jef/screenblank_21dec93.tar.Z.
  1172.  
  1173.     Because of a bug in Solaris 2.3, you'll need to
  1174.     specify -DHAVE_POLL=0 when compiling this version.
  1175.  
  1176. 3.17) And what about screendump, screenload and clear_colormap?
  1177.  
  1178.     You can FTP Jef's screenload, screendump, etc., if you need that
  1179.     functionality, and for free you get a pixrect (clone) library.
  1180.     Get one of these:
  1181.         ftp.netcom.com:/pub/jef/raster-pixrect_30dec93.tar.Z
  1182.         ee.lbl.gov:/raster-pixrect_30dec93.tar.Z
  1183.  
  1184.     The 4.1.x versions of these programs will not run under
  1185.     Solaris 2.2 or later.  The pixrect BCP library is no
  1186.     longer supported.
  1187.  
  1188. 3.18) Where did etherfind go?
  1189.  
  1190.     There is a replacement for etherfind, but it has changed name;
  1191.     in fact it's a whole new program. It IS better. To find it,
  1192.     though, you would have to realize that network snooping is not
  1193.     really ethernet-specific.  To end the suspense :-), here it is:
  1194.  
  1195.     % man -k snoop
  1196.     snoop   snoop (1m)      - capture network packets and inspect them
  1197.     %
  1198.  
  1199.     It works differently - it has an immediate mode, a
  1200.     capture-to-disk mode, and a playback-from-disk mode.  Read the
  1201.     man page for details.
  1202.  
  1203. *3.19) Can I run SunOS4.1.x on my SPARC Classic, LX, SS5 or SS20?
  1204.  
  1205.     Yes, because users wanted it (and because Clone makers were
  1206.     providing it), the Classic, LX and SS5 and SS20 are supported
  1207.     in the most recent Solaris 1.x release, SunOS 4.1.3_U1 rev B
  1208.     (Solaris 1.1.1B).  The Classic and LX are supported since
  1209.     4.1.3C (release for LX & Classic only), the SS20/SS5 since
  1210.     release 4.1.3_U1 rev B (Solaris 1.1.1B).  Note that none of
  1211.     these OS versions support SuperSPARC MP or any of the new
  1212.     graphics hardware (ZX, SX, S24).
  1213.  
  1214. *3.20) The "find" program complains that my root directory doesn't exist?
  1215.  
  1216.     Yes! Actually, messages like
  1217.  
  1218.     find : cannot open /: No such file or directory.
  1219.  
  1220.     are due to a bug in the tree walking function (nftw(3)).
  1221.  
  1222.     Fixed in 2.4 and in the 2.3 kernel jumbo patch 101318 (-41 or later)
  1223.  
  1224.  
  1225. 3.21) I'm having troubles with high-speed input on the Sparc serial
  1226. ports.  What should I do?
  1227.  
  1228.     Try using UUCP.  The Solaris 2.x sparc serial driver has
  1229.     trouble receiving data at or above 9600 bps.  Symptoms include
  1230.     sluggish response, `NOTICE: zs0: silo overflow' console
  1231.     messages, sending spurious control-Gs to the serial port, and
  1232.     applications that cannot be killed even with `kill -9'.  This
  1233.     problem surfaces in many applications, including Kermit and
  1234.     tip.  UUCP seems immune, though, because its protocol throttles
  1235.     input sufficiently.
  1236.  
  1237. 3.22) How do I make ksh or csh be the login shell for root?
  1238.  
  1239.     Root's shell is /sbin/sh, which is statically linked.
  1240.     Don't just insert a 'c' before "sh" as previously, as that would
  1241.     look for /sbin/csh, which doesn't exist.  Don't just change it to
  1242.     /bin/csh, since that's really /usr/bin/csh, which is dynamically
  1243.     linked, because:
  1244.         a) /usr may not be mounted initially, and then
  1245.            you're in deep (the shared libraries are in /usr!), and
  1246.         b) There is code in the startup scripts that assumes that
  1247.            everything critical is in /etc/lib, not /usr/lib.
  1248.     Approach with caution!
  1249.  
  1250.     Safer bet - have an alternate root account, like "rootcsh",
  1251.     with uid 0, and /bin/csh as its shell. Put it after root's entry in
  1252.     the passwd file.  Only drawback: you now have to remember to
  1253.     change all of root's passwords at the same time.
  1254.  
  1255.     Third bet - in root's .profile, check if /usr is mounted and, if so,
  1256.     exec /bin/ksh or whatever.
  1257.  
  1258. *3.23) What is this message: "automount: No network locking on host,
  1259.     contact administrator to install server change."?
  1260.  
  1261.     The other machine (an NFS server) is running 4.1.x and needs a
  1262.     patch from Sun to update its network lock daemon (lockd). If
  1263.     you don't install the patch on the server, file locking will
  1264.     not work on files mounted from "thathost". The lockd jumbo patch
  1265.     fixes a bunch of other lock manager problems, so it may be a
  1266.     Good Thing To Get; however, it may also cause the machine on
  1267.     which the patch is installed to have trouble talking to servers
  1268.     with no patch or older patches, so Be Warned.
  1269.  
  1270.     The lockd patches are: 100075 (now 4.1.3 only), 101817 (4.1-4.1.2)
  1271.     and 101784 (4.1.3_U1), 100518 (for Online: Disksuite).
  1272.  
  1273. 3.24) How do I make Solaris2 use my Toshiba MK538FB and other
  1274.     older SCSI disks?
  1275.  
  1276.     Append this line to /etc/system and reboot:
  1277.  
  1278.     set scsi_options=0x78
  1279.  
  1280.     This turns off Command Queueing, which upsets the Toshiba
  1281.     and some other drives.  If you have fast SCSI, you must use:
  1282.  
  1283.     set scsi_options=0x178
  1284.  
  1285.     or you end up disabling fast SCSI as well.
  1286.  
  1287. 3.25) How do I make Solaris2 use my old ADAPTEC ACB-4000 and
  1288.     Emulex MD-21 diskcontrollers?
  1289.  
  1290.     As with any hardware addition, first try the obvious (boot -r
  1291.     after installing and power-cycling everything).
  1292.  
  1293.     The adaptec is no longer supported; man -s7 sd no longer even
  1294.     lists it!  So I guess they go over the cliff. Either that, or
  1295.     take the drives out and put them on a PC, where ST506 MFM
  1296.     drives are still supported.
  1297.  
  1298.     The MD21 should work, though some people report that SCSI
  1299.     doesn't work in 4/260 boxes (bug-id #11187521).
  1300.  
  1301. *3.26) Why are there so many patches for Solaris 2.x?
  1302.  
  1303.     Solaris 2.x releases are essentially frozen TWO months before
  1304.     their general release date.  During the early access/beta test
  1305.     period bugs are found both in the beta and in the previous
  1306.     release.  That's why at the moment a new release comes out a
  1307.     number of patches is ready. Some of those are on the Solaris
  1308.     2.x CD.  Others were released almost at the same time as 2.x,
  1309.     or even before 2.x becomes generally available.
  1310.  
  1311.     Some bugs are found in the previous release that can't be fixed
  1312.     in the time for the next release.  And bugs get added to new
  1313.     code.
  1314.  
  1315. *3.27) What are the ``mandatory'' patches I keep hearing about?
  1316.  
  1317.     The mandatory patches weren't mandatory, so they've been relabeled.
  1318.     They're now called ``recommended'' patches.
  1319.  
  1320.     The recommended patches are those patches Sun recommends for
  1321.     trouble free system operation.  With those patches installed,
  1322.     your chances on trouble free operation are higher.  That doesn't
  1323.     mean you will run into trouble without them.
  1324.  
  1325.     These recommended patches can be anonymously ftp'ed from
  1326.     official Sun ftp sites.
  1327.  
  1328. 3.28) Where do I get patches from?
  1329.  
  1330.     thor.ece.uc.edu:/pub/sun-faq/Solaris2.[123]-patches.
  1331.  
  1332.     (SunOS 4.1.x patches in: /pub/sun-faq/SunOS4.1.x.Patches)
  1333.  
  1334.     ugle.unit.no:/pub/unix/sun-fixes
  1335.  
  1336.     SunSites (carry recommended and security patches):
  1337.  
  1338.     sunsite.unc.edu:/pub/sun-info/sun-patches
  1339.     sunsite.sut.ac.jp:/pub/sun-info/sun-us/sun-patches
  1340.     sunsite.doc.ic.ac.uk:/sun/sunsite-sun-info/sun-patches
  1341.  
  1342.     Sunsolve:
  1343.  
  1344.     sunsolve1.sun.com:/pub/patches
  1345.  
  1346.     This Sun's own site, it has the recommended patches up for
  1347.     anonymous ftp, packaged as one huge 2.x_Recommended.tar.Z file
  1348.     and as individual patches.
  1349.  
  1350.     Starting with SunSolve CD 2.1.2 ALL Sun patches are shipped
  1351.     on the SunSolve CD.
  1352.  
  1353.     Contract customers can get all patches by ftp from Sunsolve
  1354.     or via e-mail and query one of the online sunsolve-databases
  1355.     on the internet.
  1356.  
  1357.  
  1358. 3.29) Why does installing patches take so much space in /var/sadm?
  1359.  
  1360.     All the files that are replaced by a patch are stored under
  1361.     /var/sadm/patch/<patch-id>/save so the patch can be backed
  1362.     out safely.
  1363.  
  1364.     You can remove the <patchdir>/save directory provided you also
  1365.     remove the <patchdir>/.oldfilessaved file.
  1366.  
  1367.     Alternatively, you can install a patch w/o saving the old
  1368.     files.
  1369.  
  1370. 3.30) Do I need to back out previous versions of a patch?
  1371.  
  1372.     No, unless otherwise stated in the patch README.
  1373.     If the previous patch installation saved the old
  1374.     files, you may want to reclaim that space.
  1375.  
  1376.     Patches can be backed out with:
  1377.  
  1378.         /var/sadm/patch/<patch-id>/backoutpatch <patch-id>
  1379.  
  1380.     Backoutpatch can take an awful long time, especially when the
  1381.     patch contained a lot of files.
  1382.  
  1383. 3.31) How can I have more than 48 pseudo-ttys?
  1384.  
  1385.     Edit /etc/system and add the following line:
  1386.  
  1387.     * System V pseudo terminals
  1388.  
  1389.     set pt_cnt = <num>
  1390.  
  1391.     * BSD pseudo ttys
  1392.  
  1393.     set npty = <num>
  1394.  
  1395.     Halt the system and boot -r.
  1396.  
  1397. 3.32) I messed up /etc/system, now I can't boot.
  1398.  
  1399.     Boot with -as.  The kernel will ask you all sorts of questions,
  1400.     including the name of the system file.  Use the previous
  1401.     /etc/system file or specify /dev/null.
  1402.  
  1403. 3.33) The /etc/path_to_inst file is corrupted, I can't boot.
  1404.  
  1405.     Boot with -a and specify /dev/null as path_to_inst file.
  1406.  
  1407.  
  1408. 4. NETWORKING
  1409.  
  1410. 4.1) How do I use DNS w/o using NIS or NIS+?
  1411.  
  1412.     Under SunOS 4.1 it was next to impossible to run DNS name resolution
  1413.     without either a kludge fix or the NIS (V2 I guess). Under Solaris
  1414.     2.1 it is incredibly simple, but you must ignore what the manual
  1415.     (SunOS 5.1 Administering NIS+ and DNS) says (the manual is fixed
  1416.     in Solaris 2.2). All that is required to make a non-NIS host
  1417.     use the DNS for name resolution is to change the host: line in
  1418.     the /etc/nsswitch.conf file to the following:
  1419.  
  1420.     hosts:  files dns
  1421.  
  1422.     (i.e., when looking for hosts, look in /etc/hosts first, if not
  1423.     found there, try DNS, if still not found then give up) and set
  1424.     up a correct version of /etc/resolv.conf to tell the resolver
  1425.     routines (like gethostbyname) how to contact the DNS
  1426.     nameserver. You must have the names of machines which are
  1427.     somehow contacted during boot in the files in /etc and files
  1428.     must appear first in the hosts: line, otherwise the machine
  1429.     will hang during boot (at least ours did). Make sure that
  1430.     /etc/netconfig is using switch.so. (It does from the factory.)
  1431.  
  1432.  
  1433. 4.2) Speaking of nsswitch.conf, what is it?
  1434.  
  1435.     An idea whose time has come (it came to Ultrix a few years
  1436.     ago).  You can control which of the "resolver" services are
  1437.     read from NIS (formerly YP), which from NIS+, which from the
  1438.     files in /etc, and which are from DNS (but only "hosts" can
  1439.     come from DNS).
  1440.  
  1441.     A common example would be:
  1442.  
  1443.     hosts: nis files
  1444.  
  1445.     which means ask NIS for host info and, if it's not found, try
  1446.     the local machine's host table as a fallback.
  1447.  
  1448.     Advice: if you're not using NIS or DNS, SunInstall probably put
  1449.     the right version in. If you are, ensure that hosts and passwd
  1450.     come from the network. However, many of the other services
  1451.     seldom if ever change.  When was that last time *you*
  1452.     added a line in /etc/protocols? If your workstation has a local
  1453.     disk, it may be better to have programs on your machine look up
  1454.     these services locally, so use "files".
  1455.  
  1456.     Terminology: Sun worried over the term "resolver", which
  1457.     technically means any "get info" routine (getpwent(3),
  1458.     gethostbyname(3), etc), but is also specifically attached to
  1459.     the DNS resolver.  Therefore they used the term "source" to
  1460.     mean the things after the colon (files/DNS/NIS/NIS+) and
  1461.     "database" to mean the thing before the colon
  1462.     (passwd/group/hosts/services/netgroup etc).
  1463.  
  1464.     A complete discussion can be found in nsswitch.conf(4).
  1465.  
  1466.  
  1467. 4.3) What does [NOTFOUND=return] in nsswitch.conf mean?
  1468.  
  1469.     Type "man nsswitch.conf" for more info.  There is too much
  1470.     detail to summarize here.  Briefly, [NOTFOUND=return] means
  1471.     that the name service whose entry it *follows* should be
  1472.     considered authoritative (so that if it's up and it says such a
  1473.     name doesn't exist, believe it and return instead of continuing
  1474.     to hunt for an answer).
  1475.  
  1476. *4.4) Can I run a nis/yp server under Solaris 2.x?
  1477.  
  1478.     Yes, you need the Solaris network transition kit available from
  1479.     Sun.  However, his kit does not include the securenets patch.
  1480.     Path 100363-03 fixes this, but breaks all TCP NIS calls.
  1481.     (Such as ypcat)
  1482.  
  1483.  
  1484. 4.5) Can I run NIS+ under Solaris 1 (SunOS 4.1.x)
  1485.  
  1486.     Sort of, with the NIS+ server implementation for Solaris 1.x
  1487.     that comes on the Solaris 2.x CD.  This is a server side only
  1488.     implementation and requires NIS+ to run in YP compatibility
  1489.     mode.
  1490.  
  1491. 4.6) With NIS+ how do I find out which machine a client is bound to?
  1492.  
  1493.     Nis+ clients do not hard bind to nis+ servers in the same
  1494.     way that nis clients bind to nis servers. The clients have a
  1495.     list of nis+ servers within the cold-start file. When they need
  1496.     to do a lookup they do a type of broadcast called a "manycast"
  1497.     and talk to the first server that responds. This way they can
  1498.     be sure to use the lightest loaded server for the request.
  1499.  
  1500. 4.7) Ypcat doesn't work on the netgroup table on a NIS+ server, why?
  1501.  
  1502.     Yes, that is a known problem.  The only operations allowed from
  1503.     a NIS client side on the netgroup table are the ypmatches, but
  1504.     not ypcat (i.e. no support for yp_first(), yp_next() or
  1505.     yp_all() calls).  The netgroup table is kind of unique in
  1506.     this.  The reason for this is that the netgroup table format
  1507.     changed quite significantly in NIS+ and the NIS+ server would
  1508.     take a big performance hit in converting the netgroups table to
  1509.     YP (key-value) format.
  1510.  
  1511. 4.8) Why is rpc.nisd such a memory pig according to ps?
  1512.  
  1513.     The good news is that it's not memory OR swap space you're
  1514.     being shown by 'ps'.  Instead it's showing you the process
  1515.     ADDRESS space which includes 256 MB of address space reserved
  1516.     for the NIS+ transaction log.  Given the cost of moving things
  1517.     around in memory and the fact that we have 4 GB of address
  1518.     space to play with it, this is a good idea.  You've just got to
  1519.     stop thinking small.  THINK BIG.  It's only 1/16th of the total
  1520.     process address space being used.  And if you ever exceed the
  1521.     256 MB size of the transaction log you're doing something VERY
  1522.     wrong.
  1523.  
  1524. +4.9) Why is Xsun such a memory pig, especially on the SX?
  1525.  
  1526.     Ps counts the mappings for the framebuffer as memory.
  1527.     Especially on the SX where a number of different mappings
  1528.     of the device address space is used to optimize 
  1529.     access this can cause large amounts of memory, but not
  1530.     physical memory, to be mapped and shown by ps.
  1531.  
  1532. +4.10) How do I tell my NIS+ server to service DNS requests from
  1533. 4.x clients?
  1534.  
  1535.     Start rpc.nisd with the -B switch.  This can be done editing
  1536.     the server's /etc/init.d/rpc file and change 'EMULYP="-Y"' to
  1537.  
  1538.         EMULYP="-Y -B"
  1539.  
  1540. 4.11) TCP/IP connections time out too soon, especially on slow links.
  1541.  
  1542.     The tcp/ip abort interval in Solaris 2.x is too short,
  1543.     the default value is 2 minutes.  The result is that when an
  1544.     ACK isn't received in *2* minutes, the connection is closed.
  1545.     This is most often seen by sendmail, which will log
  1546.  
  1547.     sendmail: SYSERR: collect: read timeout on connection from ...
  1548.  
  1549.     You can fix this by running following command (e.g., at boot),
  1550.     which increases the timeout to 20 minutes (unit is millisec).
  1551.  
  1552.     /usr/sbin/ndd -set /dev/tcp tcp_ip_abort_interval 1200000
  1553.  
  1554. 4.12) Solaris 2.x can't set up any TCP/IP connections to certain hosts.
  1555.  
  1556.     Solaris 2.x sets the don't fragment bit on all packets it send
  1557.     as part of MTU path discovery.  The Solaris 2.x implementation
  1558.     is RFC compliant, but the MTU path discovery protocol will
  1559.     fail when there are broken routers in the path.
  1560.     Typical symptom is not being able to connect from a
  1561.     Solaris 2.x hosts but having no trouble from other hosts.
  1562.  
  1563.     Workaround:
  1564.  
  1565.     /usr/sbin/ndd -set /dev/ip ip_mtu_path_discovery 0
  1566.  
  1567.  
  1568. 5. TROUBLE SHOOTING
  1569.  
  1570. 5.1) Why can't I run Answerbook on a standalone machine?
  1571.  
  1572.     This is a bug in openwindows.  Using xhost + or starting
  1573.     openwin -noauth works around this problem.  This is
  1574.     only recommended for stand-alone machines with no dial-in
  1575.     users.  [ S 2.3 ]
  1576.  
  1577. *5.2) Why can't I run filemgr, I get ``mknod: permission denied''?
  1578.  
  1579.     This is a symptom of a bug in filemgr in Solaris 2.3
  1580.     Either apply patch #101514 or run the following commands
  1581.     at system start-up:
  1582.          mkdir /tmp/.removable
  1583.          chmod a+rwxt /tmp/.removable
  1584.  
  1585. 5.3) Why do I get isinf undefined when linking with libdps?
  1586.  
  1587.     That's a bug in libdps.  Sun compiles and links its software
  1588.     with its own compilers.  The isinf() function is shipped with
  1589.     the SunPRO compilers, but not defined in any Solaris 2.x library.
  1590.  
  1591.     A workaround exists, and consists of adding the following to
  1592.     your program:
  1593.  
  1594.     #include <ieeefp.h>
  1595.  
  1596.     int isinf(double x) { return !finite(x) && x==x; }
  1597.  
  1598. 5.4) I can't get PPP to work between Solaris 2.3 and other platforms.
  1599.  
  1600.     The PPP shipped with Solaris 2.3 doesn't interoperate with
  1601.     other PPP implementations.  Patch #101425 fixes this.
  1602.  
  1603. 5.5) Using compat mode for passwd doesn't work in 2.3?
  1604.  
  1605.     You need patch #101448.
  1606.  
  1607. 5.6) Why do I get __builtin_va_alist or __builtin_va_arg_incr undefined?
  1608.  
  1609.     You're using gcc without properly installing the gcc fixed
  1610.     include files.  Or you ran fixincludes after installing gcc
  1611.     w/o moving the gcc supplied varargs.h and stdarg.h files
  1612.     out of the way and moving them back again later.  This often
  1613.     happens when people install gcc from a binary distribution.
  1614.     If there's a tmp directory in gcc's include directory, fixincludes
  1615.     didn't complete.  This can happen when you run fixincludes in
  1616.     the background w/o redirecting I/O.
  1617.  
  1618.     Another possible cause is using ``gcc -I/usr/include.''
  1619.  
  1620. 5.7) My machine hangs during the boot process.  It seems related to ps.
  1621.  
  1622.     When the system boots, the first invocation of ps will try to
  1623.     recreate /tmp/ps_data.  To this end ps scans the /dev tree.
  1624.     Under some circumstances, a loop exists in /dev and ps will
  1625.     run forever.  Most of the time this loop is caused by the symbolic
  1626.     link /dev/bd.off.  While this link usually points to /dev/term/b,
  1627.     it sometimes get truncated and points to /dev instead.
  1628.  
  1629.     Fix: rm -f /dev/bd.off; ln -s /dev/term/b /dev/bd.off
  1630.  
  1631.     Use truss(1) to determine whether this is real the cause of your
  1632.     problem.
  1633.  
  1634. *5.8) Syslogd doesn't seem to log anything.
  1635.  
  1636.     Make sure you have /usr/ccs/bin/m4 installed.  It's in
  1637.     package SUNWbtool.
  1638.  
  1639.     Other causes are bugs in Solaris 2.3 and various revisions of
  1640.     patches.  E.g., syslogd is broken in all 101318 patches
  1641.     between level -42 and -50.  It works again in 101318-54.
  1642.  
  1643. *5.9) I get ``Invalid client credential'' when mounting filesystem on
  1644. Solaris client from non-Sun fileserver.
  1645.  
  1646.     Some vendors still ship a version of RPC/NFS that allows at
  1647.     most 8 groups in the client credentials.  Root on Solaris is by
  1648.     default in 10 groups.  As a result, the Solaris 2.x mount
  1649.     command will send AUTH_UNIX credentials that are too big to
  1650.     cope with for the remote mount daemon resulting in the ``Invalid
  1651.     client credential'' error.
  1652.  
  1653.     Workaround: put root and all your users in 8 or less groups.
  1654.     NOTE: You must logout and login again for changes in the number
  1655.     of groups to take effect. (or exit root's shell and re-su)
  1656.  
  1657.  
  1658. 6. SOFTWARE DEVELOPMENT
  1659.  
  1660. *6.1) Where is the C compiler or where can I get one?
  1661.  
  1662.     Where have you been? :-) Sun has dropped their old K&R C
  1663.     compiler, supposedly to create a market for multiple compiler
  1664.     suppliers to provide better performance and features.  Here
  1665.     are some of the contenders:
  1666.  
  1667.     1) SunPro C:
  1668.  
  1669.     SunPro, SMCC, and various distributors sell a new
  1670.     ANSI-standard C compiler on the unbundled (extra cost)
  1671.     SPARCcompiler/SPARCworks CD-ROM.  There are some other nice
  1672.     tools there too, like a "make tool" and a visual diff
  1673.     (interactive diff).
  1674.  
  1675.     You have to license and pay per user.
  1676.  
  1677.     One misfeature is that these tools use a floating license
  1678.     manager, so your whole staff can't use them without paying
  1679.     large sums of money.  Not only that, but as shipped, the tools
  1680.     enforce a 15-minute minimum usage time, to "encourage" you to
  1681.     buy a "floating" license for each and every actual user.  This
  1682.     caused so much screaming and tearing of hair that Sun was
  1683.     forced to fix it.  New compiler releases after May 1993 have a
  1684.     default 5 minute setting, changeable all the way to zero by
  1685.     having the sysadmin edit the "options file".  However, if you
  1686.     set it to zero, the compiler slows down, since it has to talk
  1687.     to the license daemon for every file you compile.  Old
  1688.     compilers have a patch available from SunPro to eliminate the
  1689.     15 minute limit; patch numbers: C: 100966-0x; C++: 100967-0x;
  1690.     Fortran: 100968-0x; Pascal: 100969-0x.  These patches are bulky
  1691.     and are not available at many anonymous ftp sites.
  1692.     If you have support, you can get them from Sun.
  1693.  
  1694.     2) Cygnus GCC:
  1695.  
  1696.     Cygnus Support and the Free Software Foundation make the GNU C
  1697.     compiler for Solaris, a free software product.  Source code
  1698.     and ready-to-run binaries can be installed from the CDware CD
  1699.     (Volume 4 or 5).
  1700.  
  1701.     Like all GNU software, there are no restrictions on who can
  1702.     use it, how many people can use it at a time, what machines it
  1703.     can be run on, or how many copies you can install, run, give
  1704.     away, or sell.
  1705.  
  1706.     Cygnus sells technical support for these tools, under annual
  1707.     support contracts.
  1708.  
  1709.     (If you get the compiler from one of the free distribution
  1710.     sites, there is no cost but no warrantee.  Cygnus lets you buy
  1711.     support for any number of users, at $500/user after the first
  1712.     two users at $1400.  You don't actually buy multiple years up
  1713.     front, but renew each year if desired.)
  1714.  
  1715.     The Cygnus distribution includes:
  1716.     gcc (ansi C compiler), gdb (good debugger), byacc (yacc repl),
  1717.     flex (lex repl), gprof, makeinfo, texindex, info, patch,
  1718.     cc (a link to gcc)
  1719.  
  1720.     The Cygnus compiler on uunet is starting to show its age a
  1721.     bit.  If you want to compile X11R5, you can get the latest
  1722.     version of GCC in source code, from the usual places
  1723.     (prep.ai.mit.edu or one of the many mirrored copies of it).
  1724.     Build and install that compiler using the Cygnus gcc binaries.
  1725.     Or get tech support from Cygnus; they produce a new version
  1726.     for their customers every three months, and will fix any
  1727.     bug you find.
  1728.  
  1729.     3) Gcc.
  1730.  
  1731.     Gcc is available from the GNU archives in source and binary
  1732.     form.  Look in a directory called sparc-sun-solaris2 for
  1733.     binaries.  You need gcc 2.3.3 or later.  You should not use
  1734.     GNU as or GNU ld.  Make sure you run just-fixinc if you use
  1735.     a binary distribution.  Better is to get a binary version and
  1736.     use that to bootstrap gcc from source.
  1737.  
  1738.     GNU software is available from:
  1739.  
  1740.         prep.ai.mit.edu:/pub/gnu
  1741.         gatekeeper.dec.com:/pub/GNU
  1742.         ftp.uu.net:/systems/gnu
  1743.         wuarchive.wustl.edu:/mirrors/gnu
  1744.         nic.funet.fi:/pub/gnu
  1745.  
  1746.     4) Info on Apogee, Lucid C, etc will be added if you send us some.
  1747.  
  1748. 6.2) What about the linker, the assembler and make?
  1749.  
  1750.     Solaris ships with everything you need, except for the compiler.
  1751.     All this stuff lives in /usr/ccs/bin and /usr/ccs/lib.
  1752.     If you still can't find it, make sure you have the following
  1753.     packages installed on your system:
  1754.  
  1755.     for tools (sccs, lex, yacc, make, nm, truss, ld, as):
  1756.         SUNWbtool, SUNWsprot, SUNWtoo
  1757.     for libraries & headers:
  1758.         SUNWhea, SUNWarc, SUNWlibm, SUNWlibms
  1759.     for ucb compat:
  1760.         SUNWsra, SUNWsrh
  1761.  
  1762. 6.3) What do I need to compile X11R5?
  1763.  
  1764.     There are several "patch kits" for X11R5 under Solaris 2.1.
  1765.     Most of them require gcc 2.3.3 or later and you must have
  1766.     run "fixincludes" when you install the gcc software.
  1767.  
  1768.     The recommended patchkit is R5.SunOS5.patch.tar.Z available
  1769.     from ftp.x.org:/R5contrib.  It works with gcc (2.3.3 or later)
  1770.     and SunPRO C.
  1771.  
  1772.     X11R6 compiles out-of-the-box on Solaris 2.3.
  1773.  
  1774. 6.4) I get undefined symbols when compiling R6 in Solaris 2.2.
  1775.  
  1776.     Solaris 2.2 doesn't have the full thread support required
  1777.     by X11R6.  Compile R6 without multi-thread support or
  1778.     upgrade to 2.3 or later.
  1779.  
  1780. +6.5) I can't get perl 4.036 to compile or run.
  1781.  
  1782.     Run Configure, and use the solaris_2_0 hints, *don't* use
  1783.     the solaris_2_1 hints and don't use the config.sh you may
  1784.     already have.  First you must make sure Configure and make
  1785.     don't find /usr/ucb/cc.  (It must use gcc or the native C
  1786.     compiler: /opt/SUNWspro/bin/cc)
  1787.  
  1788.     Some questions need a special answer.
  1789.  
  1790.     Are your system (especially dbm) libraries compiled with gcc? [y] y
  1791.  
  1792.     yes: gcc 2.3.3 or later uses the standard calling
  1793.     conventions, same as Sun's C.
  1794.  
  1795.     Any additional cc flags? [ -traditional -Dvolatile=__volatile__
  1796.     -I/usr/ucbinclude] -traditional -Dvolatile=__volatile__
  1797.     Remove /usr/ucbinclude.
  1798.  
  1799.     Any additional libraries? [-lsocket -lnsl -ldbm -lmalloc -lm
  1800.     -lucb] -lsocket -lnsl  -lm
  1801.  
  1802.     Don't include -ldbm, -lmalloc and -lucb.
  1803.  
  1804.  
  1805. 6.6) What happened to NIT? What new mechanisms exist for low-level
  1806. network access?
  1807.  
  1808.     See man page DLPI(7). Try NFSWATCH 4.0 for sample code using DLPI.
  1809.     It is available by ftp from:
  1810.     harbor.ecn.purdue.edu:/pub/davy/nfswatch4.0.tar.Z
  1811.     and
  1812.     gatekeeper.dec.com:/pub/net/ip/nfs/nfswatch4.0.tar.Z
  1813.  
  1814.     Better yet, FTP the paper "How to Use DLPI in Solaris 2.x" by
  1815.     Neal Nuckolls of Sun Internet Engineering.  Look in
  1816.     these FTP directories:
  1817.     opcom.sun.ca:/pub/drivers/dlpi
  1818.  
  1819.     ftp.ui.org:/pub/osi/{dlpi,npi,tpi}.ps
  1820.     [ It appears that this site no longer exists, where did it move to? ]
  1821.  
  1822. 6.7) Where are all the functions gone that used to be in libc?
  1823.  
  1824.     The C library has exploded.  The manual page may give an
  1825.     indication where to find a specific function.
  1826.  
  1827.     Those libraries are essentially split over two directories:
  1828.  
  1829.         /usr/lib /usr/ccs/lib.
  1830.  
  1831.     Important libraries:
  1832.  
  1833.     /usr/lib:
  1834.         libsocket       - socket functions
  1835.         libnsl          - network services library
  1836.  
  1837.     /usr/ccs/lib:
  1838.         libgen          - regular expression functions
  1839.         libcurses       - the SysVR4 curses/terminfo library.
  1840.  
  1841.     See Intro(3) for more details.
  1842.  
  1843. 6.8) I'm still missing some functions: bcopy, bzero and friends.
  1844.  
  1845.     They are in /usr/ucblib/libucb.so.  The b* functions
  1846.     are replaced with the ANSI-C equivalents.  Look
  1847.     in the Solaris porting FAQ for more details.
  1848.  
  1849. *6.9) Can I use the source compatibility package to postpone porting?
  1850.  
  1851.     Not really.  The Source code compatibility package is
  1852.     compatible with BSD 4.2, not SunOS 4.1.x.  The consensus
  1853.     is that the library is broken beyond usability.
  1854.     If you use libucb to pick up some functions you need, it
  1855.     is often best to specify it *after* all other libraries and
  1856.     after libc with:
  1857.  
  1858.         -lc -L/usr/ucblib -R/usr/ucblib -lucb
  1859.  
  1860. *6.10) Why doesn't readdir work?
  1861.  
  1862.     You're probably linking with libucb and didn't read the
  1863.     previous question.  (The readdir in libucb.so wants you to
  1864.     include sys/dir.h, many SunOS 4.1.x programs included
  1865.     <dirent.h>, consequently, you're mixing native <dirent.h>
  1866.     struct dirent with libucb readdir().
  1867.     The symptom of this mixup is that the first two characters
  1868.     of each filename are missing.  Make sure you use the native
  1869.     compiler (default /opt/SUNWspro/bin/cc, which may not be in
  1870.     your PATH), and not /usr/ucb/cc.
  1871.  
  1872. +6.11) Why do I get undefined symbols when linking with curses/termcap?
  1873.  
  1874.     It is easy to mixup the BSD libcurses and the SVR4 libcurses.
  1875.     One lives in /usr/ucblib, the other in /usr/ccs/lib, when
  1876.     you've installed SUNWarc.  Note that when you specify:
  1877.  
  1878.         -L/usr/ucblib -lucb -L/usr/ccs/lib -lcurses
  1879.  
  1880.     you will pick the *ucb* version of libcurses, not the SVR4
  1881.     version.  If you always put libucb last, as recommended in the
  1882.     previous question, you will have no such problem.
  1883.  
  1884. 7. ACKNOWLEDGEMENTS
  1885.     Most of this material is either written by me or sent to me
  1886.     directly. Some of it is cribbed shamelessly from USENET postings
  1887.     in several groups.
  1888.  
  1889.     Thanks to all people who contributed to this FAQ,
  1890.     you know who you are.  The list is too long to be included
  1891.     in this FAQ.
  1892.  
  1893. --- End of Solaris 2.x FAQ -- Maintained by Casper Dik <casper@fwi.uva.nl> ---
  1894.